package com.miracle.设计模式.结构型模式.装饰模式.例二;

/**
 * 咖啡装饰者的抽象
 */
public class CoffeeDecorator extends Coffee{

    private Coffee coffee;//咖啡

    public CoffeeDecorator(Coffee coffee) {//体现出组合的关系
        this.coffee = coffee;
    }

    /**
     * 计算订单价格
     * @return
     */
    @Override
    public float cost() {
        // 自己的价格  +  咖啡费用
        return super.getPrice() + coffee.cost();
    }

    @Override
    public String getDesc() {
        // 自己的描述  +  自己的价格  +  单品咖啡的描述
        return super.getDesc() + " " + super.getPrice() + " && " + coffee.getDesc();
    }

}
